@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400);
html, body {
  margin: 0;
  height: 100%;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
}

.frame {
  position: relative;
  width: 400px;
  height: 400px;
  background-color: #1A2238;
  border-radius: 2px;
  box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.3);
  color: #394568;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}

.moon {
  position: absolute;
  top: 45px;
  left: 55px;
  width: 67px;
  height: 67px;
  border-radius: 50%;
  background-color: #F6EDBD;
  overflow: hidden;
  box-shadow: 0 0 10px 0 #F6EDBD;
  animation: rise 1.2s ease-out;
}
.moon .crater-1, .moon .crater-4, .moon .crater-11, .moon .crater-10, .moon .crater-7, .moon .crater-9, .moon .crater-8, .moon .crater-6, .moon .crater-5, .moon .crater-3, .moon .crater-2 {
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #ECE1A8;
  top: 4px;
  left: 8px;
}
.moon .crater-2 {
  top: 50px;
  left: 50px;
}
.moon .crater-3 {
  top: 9px;
  left: 28px;
}
.moon .crater-4, .moon .crater-11, .moon .crater-10, .moon .crater-7, .moon .crater-9, .moon .crater-8, .moon .crater-6, .moon .crater-5 {
  width: 7px;
  height: 7px;
  top: 50px;
  left: 40px;
}
.moon .crater-5 {
  top: 30px;
  left: -2px;
}
.moon .crater-6 {
  left: 50px;
  top: 20px;
}
.moon .crater-7, .moon .crater-9, .moon .crater-8 {
  width: 4px;
  height: 4px;
  left: 21px;
  top: 24px;
}
.moon .crater-8 {
  left: 14px;
  top: 47px;
}
.moon .crater-9 {
  top: 37px;
  left: 37px;
}
.moon .crater-10 {
  left: 33px;
  top: 26px;
}
.moon .crater-11 {
  top: 36px;
  left: 14px;
}

.hill-bg-1, .hill-fg-1, .hill-fg-3, .hill-fg-2, .hill-bg-2 {
  position: absolute;
  z-index: 2;
  width: 337px;
  height: 281px;
  top: 201px;
  left: -51px;
  border-radius: 50%;
  background-color: #26314F;
}

.hill-bg-2 {
  top: 197px;
  left: 177px;
}

.hill-fg-1, .hill-fg-3, .hill-fg-2 {
  background-color: #303C5D;
  top: 248px;
  left: -137px;
}

.hill-fg-2 {
  top: 221px;
  left: 63px;
}

.hill-fg-3 {
  top: 248px;
  left: 292px;
}

.front {
  position: absolute;
  width: 400px;
  height: 90px;
  z-index: 10;
  background-color: #fff;
  bottom: 0;
  left: 0;
}
.front .temperature {
  float: left;
  margin-left: 20px;
  font-size: 45px;
  line-height: 90px;
}
.front .info {
  float: left;
  margin: 25px 0 0 23px;
  line-height: 20px;
  font-size: 15px;
}
.front .preview {
  float: right;
  text-align: right;
  margin: 25px 20px 0 0;
  font-size: 15px;
  line-height: 20px;
  font-weight: 400;
}
.front .preview td {
  text-transform: uppercase;
  padding: 0 3px;
}
.front .preview td:first-child {
  font-weight: 300;
}

.drop-big-1, .drop-small-10, .drop-medium-10, .drop-small-9, .drop-medium-9, .drop-small-8, .drop-medium-8, .drop-small-7, .drop-medium-7, .drop-small-6, .drop-medium-6, .drop-small-5, .drop-medium-5, .drop-small-4, .drop-medium-4, .drop-small-3, .drop-medium-3, .drop-small-2, .drop-medium-2, .drop-small-1, .drop-medium-1 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 18px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1.44s infinite;
}
.drop-big-1::before, .drop-small-10::before, .drop-medium-10::before, .drop-small-9::before, .drop-medium-9::before, .drop-small-8::before, .drop-medium-8::before, .drop-small-7::before, .drop-medium-7::before, .drop-small-6::before, .drop-medium-6::before, .drop-small-5::before, .drop-medium-5::before, .drop-small-4::before, .drop-medium-4::before, .drop-small-3::before, .drop-medium-3::before, .drop-small-2::before, .drop-medium-2::before, .drop-small-1::before, .drop-medium-1::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-1::after, .drop-small-10::after, .drop-medium-10::after, .drop-small-9::after, .drop-medium-9::after, .drop-small-8::after, .drop-medium-8::after, .drop-small-7::after, .drop-medium-7::after, .drop-small-6::after, .drop-medium-6::after, .drop-small-5::after, .drop-medium-5::after, .drop-small-4::after, .drop-medium-4::after, .drop-small-3::after, .drop-medium-3::after, .drop-small-2::after, .drop-medium-2::after, .drop-small-1::after, .drop-medium-1::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-1 {
  left: 18px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 1.4s infinite;
}
.drop-medium-1::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-1::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-1 {
  left: 18px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 1.96s infinite;
}
.drop-small-1::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-1::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-2 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 56px;
  transform-origin: 50% 100%;
  animation: drop 0.9s linear 1.44s infinite;
}
.drop-big-2::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-2::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-2 {
  left: 56px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 0.8s infinite;
}
.drop-medium-2::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-2::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-2 {
  left: 56px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2s linear 1.36s infinite;
}
.drop-small-2::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-2::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-3 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 94px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1.88s infinite;
}
.drop-big-3::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-3::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-3 {
  left: 94px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 0.68s infinite;
}
.drop-medium-3::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-3::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-3 {
  left: 94px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 1.68s infinite;
}
.drop-small-3::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-3::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-4 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 132px;
  transform-origin: 50% 100%;
  animation: drop 0.9s linear 1.72s infinite;
}
.drop-big-4::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-4::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-4 {
  left: 132px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 0.8s infinite;
}
.drop-medium-4::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-4::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-4 {
  left: 132px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2s linear 0.92s infinite;
}
.drop-small-4::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-4::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-5 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 170px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1s infinite;
}
.drop-big-5::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-5::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-5 {
  left: 170px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 1.6s infinite;
}
.drop-medium-5::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-5::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-5 {
  left: 170px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 0.52s infinite;
}
.drop-small-5::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-5::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-6 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 208px;
  transform-origin: 50% 100%;
  animation: drop 0.9s linear 0.92s infinite;
}
.drop-big-6::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-6::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-6 {
  left: 208px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 1.24s infinite;
}
.drop-medium-6::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-6::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-6 {
  left: 208px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2s linear 1.32s infinite;
}
.drop-small-6::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-6::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-7 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 246px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 0.52s infinite;
}
.drop-big-7::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-7::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-7 {
  left: 246px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.5s linear 1.36s infinite;
}
.drop-medium-7::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-7::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-7 {
  left: 246px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 1.6s infinite;
}
.drop-small-7::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-7::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-8 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 284px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1.08s infinite;
}
.drop-big-8::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-8::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-8 {
  left: 284px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.4s linear 1.24s infinite;
}
.drop-medium-8::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-8::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-8 {
  left: 284px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 0.56s infinite;
}
.drop-small-8::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-8::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-9 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 322px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1.32s infinite;
}
.drop-big-9::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-9::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-9 {
  left: 322px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.4s linear 1s infinite;
}
.drop-medium-9::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-9::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-9 {
  left: 322px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 0.6s infinite;
}
.drop-small-9::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-9::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

.drop-big-10 {
  position: absolute;
  z-index: 20;
  background-color: #7FC1F9;
  width: 8px;
  height: 8px;
  bottom: 90px;
  border-radius: 50%;
  left: 360px;
  transform-origin: 50% 100%;
  animation: drop 0.8s linear 1.04s infinite;
}
.drop-big-10::before {
  position: absolute;
  content: "";
  display: block;
  top: -2px;
  left: 1px;
  height: 6px;
  width: 6px;
  background-color: #7FC1F9;
  border-radius: 3px;
}
.drop-big-10::after {
  position: absolute;
  content: "";
  display: block;
  width: 4px;
  height: 10px;
  top: -5px;
  left: 2px;
  background-color: #7FC1F9;
  border-radius: 50%;
}

.drop-medium-10 {
  left: 360px;
  opacity: 0.6;
  width: 6px;
  height: 6px;
  animation: drop 1.4s linear 0.64s infinite;
}
.drop-medium-10::before {
  top: -2px;
  left: 1px;
  width: 4px;
  height: 4px;
}
.drop-medium-10::after {
  left: 2px;
  top: -4px;
  width: 2px;
  height: 6px;
}

.drop-small-10 {
  left: 360px;
  opacity: 0.3;
  width: 4px;
  height: 4px;
  animation: drop 2.1s linear 1.8s infinite;
}
.drop-small-10::before {
  top: -2px;
  left: 1px;
  width: 2px;
  height: 2px;
}
.drop-small-10::after {
  top: -3px;
  left: 1px;
  width: 2px;
  height: 4px;
}

@keyframes drop {
  0% {
    transform: translate3d(40px, -320px, 0) scaleX(1) scaleY(1) rotate(20deg);
  }
  85% {
    transform: translate3d(0, 0, 0) scaleX(1) scaleY(1) rotate(20deg);
  }
  100% {
    transform: translate3d(0, 0, 0) scaleX(3) scaleY(0) rotate(0deg);
  }
}
@keyframes rise {
  from {
    transform: translate(-20px, 220px);
  }
  to {
    transform: translate(0, 0px);
  }
}